package cn.kgc.vue.service;

import cn.kgc.vue.commons.QueryCondition;
import cn.kgc.vue.commons.ResponseResult;
import cn.kgc.vue.entity.User;
import cn.kgc.vue.form.LoginForm;
import cn.kgc.vue.form.UserForm;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
* @author mengshun
* @description 针对表【sys_user】的数据库操作Service
* @createDate 2024-04-09 08:54:15
*/
public interface UserService extends IService<User> {

    ResponseResult login(LoginForm loginForm, HttpServletRequest request);

    ResponseResult userPage(QueryCondition<User> queryCondition);

    ResponseResult addUser(UserForm userForm);

    ResponseResult getByUId(Integer id);

    ResponseResult editUser(UserForm userForm);

    ResponseResult resetPassword(Integer id);

    ResponseResult editState(Integer id, Integer state);

    ResponseResult delete(List<Integer> uids);

    ResponseResult getPersonalInfo(HttpServletRequest request);

    ResponseResult editPersonalPwd(Map<String, String> pwdInfo, HttpServletRequest request);

    ResponseResult logout(HttpServletRequest request);

    ResponseResult userMenu(HttpServletRequest request);
}
